At the Internet, on March 15th, 2024, with 176 commits by 138 authors, we are happy to announce the release of Django REST framework 3.15.
Django 5.0 and Python 3.12 supportThe latest release now fully supports Django 5.0 and Python 3.12.
The current minimum versions of Django still is 3.0 and Python 3.6.
Primary Support of UniqueConstraintModelSerializer generates validators for UniqueConstraint (both UniqueValidator and UniqueTogetherValidator)
SimpleRouter non-regex matching supportBy default the URLs created by SimpleRouter use regular expressions. This behavior can be modified by setting the use_regex_path argument to False when instantiating the router.
ZoneInfo as the primary source of timezone dataDependency on pytz has been removed and deprecation warnings have been added, Django will provide ZoneInfo instances as long as USE_DEPRECATED_PYTZ is not enabled. More info on the migration can be found in this guide.
Align SearchFilter behaviour to django.contrib.admin searchSearches now may contain quoted phrases with spaces, each phrase is considered as a single search term, and it will raise a validation error if any null-character is provided in search. See the Filtering API guide for more information.
Other fixes and improvementsThere are a number of fixes and minor improvements in this release, ranging from documentation, internal infrastructure (typing, testing, requirements, deprecation, etc.), security and overall behaviour.
See the release notes page for a complete listing.